package object03;

public class Demo03 {
    public static void main(String[] args) {
        Person p1 = new Person("谢霆锋",30);
        Person p2 = new Person("佟大为",29);

        // boolean equals(Object obj)

        boolean b1 = p1.equals(p2);// Object obj = p2 = Person("佟大为",29);
        System.out.println(b1);    //   false

        boolean b2 = p1.equals(p1);
        System.out.println(b2);  // true

    }
}
/*
* public boolean equals(Object obj){
*       return (this == obj)
* }
*
*   == 比较运算符
*    a.基本数据类型比较的是两个基本类型的数值
*        int i = 3;
*       int j =12;
*       i == j     // false
*   b.引用数据类型比较两个引用的地址值
*
*  1.Object obj = p2 = new Person("佟大为",29)  地址值：0X4C
*  this = p1 = new Person("谢霆锋",30)          地址值：0X5B
* 相当于 p1和 p2比较    p1 == p2
*   由于两个地址值不同 所以最后返回是false
*
* 2. Object obj = p1 = new Person("谢霆锋",30) 地址值：0X4C
*    this = p1 = new Person("谢霆锋",30)      地址值：0X4C
*   p1 == p1   两个地址值一样
* 所以返回  true
* */

